//
// OS_defines.h
// libprotea
// Tools Library for The Protea Project / Determines Operating System for appropriate include files
// Copyright (C) 2003, 2004, 2005 eXegeSys, Inc.
// Copyright (C) 2008 Bruce A. James
//
// This program is part of the Protea Project.
//
// The Protea Project is free software; you can redistribute it and/or modify it 
// under the terms of the GNU General Public License as published by the 
// Free Software Foundation, either version 3 of the License, or (at your 
// option) any later version.
//
// The Protea Project is distributed in the hope that it will be useful, but 
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
// for more details.
// 
// You should have received a copy of the GNU General Public License along 
// with this program.  If not, see <http://www.gnu.org/licenses/>.
// 
// Please send correspondence to:
// 
// theproteaproject@gmail.com
//

//
// Declares appropriate OS variables
//
// Required since gcc and aCC don't use the same os variables
//
#ifndef __PROTEA_OS_DEFINES__
#define __PROTEA_OS_DEFINES__

// The commercial version supported Win32 (NT4/2000/XP/2003), HP-UX 10+, Linux
// kernel 2.4+, and Solaris 8+.  Only the generic Unix and Linux version was
// released as Open Source.  
// TODO: Add support for new operating systems.

#if defined( _WIN32 )
#	define OS_WIN32
#	include "OSDep/OS_WIN32.h"
#elif defined( __hpux__ ) || defined( __hpux )
#	define OS_UNIX
#	include "OSDep/OS_UNIX.h"
#	define OS_HPUX
#	include "OSDep/OS_HPUX.h"
#elif defined( __linux__ )
#	define OS_UNIX
#	include "OSDep/OS_UNIX.h"
#	define OS_LINUX
#	include "OSDep/OS_LINUX.h"
#elif defined( __sun__ )
#	define OS_UNIX
#	include "OSDep/OS_UNIX.h"
#	define OS_SOLARIS
#	include "OSDep/OS_SOLARIS.h"
#else
	#error Unsupported operating system
#endif

#endif
